/* Copyright (c) 2025 LiuYing
*    Key Laboratory of Cyberspace Security Defense,Institute of Information Engineering, CAS
*    School of Cyber Security, University of Chinese Academy of Sciences     
*
* This file is part of the openHiTLS project.
*
* openHiTLS is licensed under the Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
*
*     http://license.coscl.org.cn/MulanPSL2
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
#include<stdint.h>

#if defined LAC256
int NTT_1024(int32_t *a);
int INTT_1024(int32_t *a);
int poly_mul_ntt_1024(const uint16_t  *a, const uint16_t *s, uint16_t *b);

int poly_mul_ntt_Lazy_1024(const uint16_t  *a, const uint16_t *s, uint16_t *b);
#endif

void NormalMul_unsign_251(const uint16_t  *a, const uint16_t *s, uint16_t *b);
